Monthly Performance Table by Dr. MauryaWhat is this ?
This Strategy script is not aim to produce strategy results but It aim to produce monthly PnL performance Calendar table which is useful for TradingView community to generate a monthly performance table for Own strategy.
So make sure to read the disclaimer below.
Why it is required to publish?:
I am not satisfied with the monthly performance available on TV community script. Sometimes it is very lengthy in code and sometimes it showing the wrong PNL for current month.
So I have decided to develop new Monthly performance or return in value as well as in percentage with highly flexible to adjust row automatically.
Features :
Accuracy increased for current month PnL.
There are 14 columns and automatically adjusted rows according to available trade years/month.
First Column reflect the YEAR, from second column to 13 column reflect the month and 14 column reflect the yearly PnL.
In tabulated data reflects the monthly PnL (value and (%)) in month column and Yearly PnL (value and (%)) in Yearly column.
Various color input also added to change the table look like background color, text color, heading text color, border color.
In tabulated data, background color turn green for profit and red for loss.
Copy from line 54 to last line as it is in your strategy script.
Credit: This code is modified and top up of the open-source code originally written by QuantNomad. Thanks for their contribution towards to give base and lead to other developers. I have changed the way of determining past PnL to array form and keep separated current month and year PnL from array. Which avoid the false pnl in current month.
Strategy description:
As in first line I said This strategy is aim to provide monthly performance table not focused on the strategy. But it is necessary to explain strategy which I have used here. Strategy is simply based on ADX available on TV community script. Long entry is based on when the difference between DIPlus and ADX is reached on certain value (Set value in Long difference in Input Tab) while Short entry is based on when the difference between DIMinus and ADX is reached on certain value (Set value in Short difference in Input Tab).
Default Strategy Properties used on chart(Important)
This script backtest is done on 1 hour timeframe of NSE:Reliance Inds Future cahrt, using the following backtesting properties:
Balance (default): 500 000 (default base currency)
Order Size: 1 contract
Comission: 20 INR per Order
Slippage: 5 tick
Default setting in Input tab
Len (ADX length) : 14
Th (ADX Threshhold): 20
Long Difference (DIPlus - ADX) = 5
Short Difference (DIMinus - ADX) = 5
We use these properties to ensure a realistic preview of the backtesting system, do note that default properties can be different for various reasons described below:
Order Size: 1 contract by default, this is to allow the strategy to run properly on most instruments such as futures.
Comission: Comission can vary depending on the market and instrument, there is no default value that might return realistic results.
We strongly recommend all users to ensure they adjust the Properties within the script settings to be in line with their accounts & trading platforms of choice to ensure results from the strategies built are realistic.
Disclaimer:
This script not provide indicative of any future results.
This script don’t provide any financial advice.
This strategy is only for the readymade snippet code for monthly PnL performance calender table for any own strategy.
Cari dalam skrip untuk "the strat"
LuxAlgo - Backtester (OSC)The OSC Backtester is an innovative strategy script that allows users to create a wide variety of strategies using various unique oscillators.
By utilizing our 'Step' and 'Match' algorithms, users can create custom and complex strategy entries from each of the supported oscillators and included conditions, as well as any external sources, allowing users to create entries from a sequence of conditions and/or multiple matching conditions.
We included a complete alert system that will send a notification for each action taken by the strategy and we also allow users to set custom messages for each action taken by a strategy.
🔶 Features
🔹 Step & Match Algorithm
More complex entry rules can be created by using multiple conditions together, this is done thanks to the Step dropdown setting on the right of each condition.
The Step setting is directly related to the Step & Match algorithm and works in two ways:
When two or more conditions have the same step number, both conditions are evaluated. Used to test matching conditions.
When two or more conditions have different step numbers, each conditions will be evaluated in order, testing for the first step and switching to the next step once the previous one is true. When the final step is true the strategy will open a market order. Used to create sequence of conditions.
This operation is complementary, as you can create a sequence of conditions with one step consisting of two or more matching conditions as long as they have the same step number.
🔹 Fully Customizable Entries From Various Oscillators And Conditions
We allow the users to set entries using our unique HyperWave, Smart Money Flow, and their derived conditions as entries.
The Hyper Wave is a normalized adaptive oscillator aiming to reflect price trends without returning a high amount of noise.
The Smart Money Flow aims to detect trends based on market activity, by doing a comparative analysis between current volume and historical volume. A Smart Money Flow above 50 suggest market participants are bullish, else bearish. Derived from this oscillator we have Overflow indications, this indicator detects when market is overbought or oversold based on participants activity.
Other entries include proprietary reversal signals, real-time divergence detection, oscillator confluence (indicating how aligned each oscillator is), as well as entries using external sources.
🔹 Complete Alert System
Users can get alerted for any action executed by a strategy, from opening positions to closing them.
The message field in the Alert Messages setting section allows for the strategy to send a custom alert message depending on the action taken by the strategy, if no messages are set the strategy will send default messages.
🔶 Usage
Users can create a wide variety of strategies from this script, whether they are trend-following or contrarian traders.
Let's see a contrarian (revesal-based) strategy example using the following entry conditions:
Long: Hyperwave bullish divergence and oversold Hyperwave (lower than 20).
Short: Hyperwave bearish divergence and overbought Hyperwave (greater than 20).
We can also introduce take-profit and stop-loss exit conditions based on external indicators, allowing more control over exits in our strategy. For example:
Long: Hyperwave crossing over 50 while money flow is bearish.
Short: Hyperwave crossing under 50 while money flow is bullish.
Exit Long on a profit (long exit tp): Hyperwave crossing 80.
Exit Short on a profit (short exit tp): Hyperwave crossing 20.
While this strategy script can be used as a standalone, we recommend using other indicators creatively to assist with entries and exits as well as TP/SLs.
Our Step & Match algorithm can magnify interoperability, allowing for way more complete strategies through complex conditions, let's demonstrate this using the following entries:
Long: Any bullish reversal occurring after the price crosses over the lowest upper reversal zone of the Signals & Overlays™.
Short: Any bearish reversal occurring after the price crosses under the highest lower reversal zone of the Signals & Overlays™.
Long TP/SL: 5 ATR's away from the entry price.
Short TP/SL: 5 ATR's away from the entry price.
🔶 Strategy Properties (Important)
This script backtest is done on daily EURGBP, using the following backtesting properties:
Balance (default): 10 000 (default base currency)
Order Size: 10% of the equity
Comission: 3.4 pips (average spread for EURGBP)
Slippage: 3 tick
Stop Loss: 0.02 points away from entry price
We use these properties to ensure a realistic preview of the backtesting system, do note that default properties can be different for various reasons described below:
Order Size: 1 contract by default, this is to allow the strategy to run properly on most instruments such as futures.
Comission: Comission can vary depending on the market and instrument, there is no default value that might return realistic results.
We strongly recommend all users to ensure they adjust the Properties within the script settings to be in line with their accounts & trading platforms of choice to ensure results from the strategies built are realistic.
🔶 How To Access
You can see the Author's Instructions below to learn how to get access.
2Mars - MA / BB / SuperTrend
The 2Mars strategy is a trading approach that aims to improve trading efficiency by incorporating several simple order opening tactics. These tactics include moving average crossovers, Bollinger Bands, and SuperTrend.
Entering a Position with the 2Mars Strategy:
Moving Average Crossover: This method considers the crossing of moving averages as a signal to enter a position.
Price Crossing Bollinger Bands: If the price crosses either the upper or lower Bollinger Band, it is seen as a signal to enter a position.
Price Crossing Moving Average: If the price crosses the moving average, it is also considered a signal to enter a position.
SuperTrend and Bars confirm:
The SuperTrend indicator is used to provide additional confirmation for entering positions and setting stop loss levels. "Bars confirm" is used only for entry to positions.
Moving Average Crossover Strategy:
A moving average crossover refers to the point on a chart where there is a crossover of the signal or fast moving average, above or below the basis or slow moving average. This strategy also uses moving averages for additional orders #3.
Basis Moving Average Length: Ratio * Multiplier
Signal Moving Average Length: Multiplier
Bollinger Bands:
Bollinger Bands consist of three bands: an upper band, a lower band, and a basis moving average. However, the 2Mars strategy incorporates multiple upper and lower levels for position entry and take profit.
Basis +/- StdDev * 0.618
Basis +/- StdDev * 1.618
Basis +/- StdDev * 2.618
Additional Orders:
Additional Order #1 and #2: closing price crosses above or below the Bollinger Bands.
Additional Order #3: closing price crosses above or below the basis or signal moving average.
Take Profit:
The strategy includes three levels for taking profits, which are based on the Bollinger Bands. Additionally, a percentage of the position can be chosen to close long or short positions.
Limit Orders:
The strategy allows for entering a position using a limit order. The calculation for the limit order involves the Average True Range (ATR) for a specific period.
For long positions: Low price - ATR * Multiplier
For short positions: High price + ATR * Multiplier
Stop Loss:
To manage risk, the strategy recommends using stop loss options. The stop loss is updated with each entry order and take-profit level 3. When using the SuperTrend Confirmation, the stop loss requires confirmation of a trend change. It allows for flexible adjustment of the stop loss when the trend changes.
There are three options for setting the stop loss:
1. ATR (Average True Range):
For long positions: Low price - ATR * Long multiplier
For short positions: High price + ATR * Short multiplier
2. SuperTrend + ATR:
For long positions: SuperTrend - ATR * Long multiplier
For short positions: SuperTrend + ATR * Short multiplier
3. StdDev:
For long positions: StdDev - ATR * Long multiplier
For short positions: StdDev + ATR * Short multiplier
Flexible Stop Loss:
There is also a flexible stop loss option for the ATR and StdDev methods. It is triggered when the SuperTrend or moving average trend changes unfavorably.
For long positions: Stop-loss price + (ATR * Long multiplier) * Multiplier
For short positions: Stop-loss price - (ATR * Short multiplier) * Multiplier
How configure:
Disable SuperTrend, take profit, stop loss, additional orders and begin setting up a strategy.
Pick soucre data
Number of bars for confirm
Pick up the ratio of the base moving average and the signal moving average.
Set up a SuperTrend
Time for set up of the Bollinger Bands and the take profit
And finaly set up of stop loss and limit orders
All done!
For OKX exchange:
Manual Buy&Sell Alerts [Starbots]This is a simple Strategy created to help you manually execute open or close orders via Alerts on Exchanges or Platforms.
More and more Exchanges and Platforms allow Tradingview Alert trading and sometimes we come to a problem that we can not sell an open order on the exchanges other way than signaling a sell or buy from Tradingview Alerts.
This is a tool to solve that problem as your are able to manually:
- send alert on limit targets (Long limit target, Short limit target, Take Profit limit target, Stop Loss limit target)
- send alert when new live bar opens on the market (simple way for closing your open trades on the Exchange/Platform - it will sell your open Long/Short order after new live bar is opened on the market)
Functions:
- 🕛Start
Define a start time for strategy to open/close trades
- 🕐Stop Trading after your Order is Closed
If you wish to stop opening/closing trades after your first position is successfully closed keep this turned on. If you wish to keep opening/closing trades indefinitely when the conditions are met keep this turned off.
🏁Buy&Sell By Limit Target
-Buy Price
-Take Profit
-Stop Loss
-🟢Enable Long Limit Orders
-🔴Enable Short Limit Orders
If you enable Enable Long or Short limit orders you will be able to execute trades when the price reaches your limit target lines.
Please Note that if you turn on Shorting, your Take Profit limit target must be 'UNDER' your buy price and Stop Loss limit target must be 'ABOVE' your buy price.
Type in your limit values manually or re-apply the strategy to your chart to select limit targets again with a mouse - you can also drag the limit lines to your wanted areas.
(I recommend using low time-frame charts - 30s, 1minute for fast executions)
🏁Buy&Sell After New Bar Opens
-🟢Open Long
-Close Long on a new Open Bar
-🔴Open Short
-Close Short on a new Open Bar
This is a simple way for closing your open trade on Exchanges. If you select Open Long/Short and then Close Long/Short on a new Open bar it will sell your open order and send sell alert when the new bar is opened on the market. Choose your time-frame and execute immediate sell order when a new bar is opened. You can select low 15s-30s-1minute charts to quickly get a sell alert.
Alerts
Long Message
Short Message
Exit Long Message
Exit Short Message
You can type in your webhook alert messages in this inputs. Write this code in 'Message' when creating Alert for strategy to send your Buy/Sell messages from above inputs.
{{strategy.order.alert_message}}
If you trade on exchanges and use different dynamic alert message to trade from Strategies, then you can just leave Alert inputs empty and write down your message alert in 'Message' box when creating new alert normally.
>> Do not forget to also set order size and pyramiding in properties tab correctly in this case.
YinYang RSI Volume Trend StrategyThere are many strategies that use RSI or Volume but very few that take advantage of how useful and important the two of them combined are. This strategy uses the Highs and Lows with Volume and RSI weighted calculations on top of them. You may be wondering how much of an impact Volume and RSI can have on the prices; the answer is a lot and we will discuss those with plenty of examples below, but first…
How does this strategy work?
It’s simple really, when the purchase source crosses above the inner low band (red) it creates a Buy or Long. This long has a Trailing Stop Loss band (the outer low band that's also red) that can be adjusted in the Settings. The Stop Loss is based on a % of the inner low band’s price and by default it is 0.1% lower than the inner band’s price. This Stop Loss is not only a stop loss but it can also act as a Purchase Available location.
You can get back into a trade after a stop loss / take profit has been hit when your Reset Purchase Availability After condition has been met. This can either be at Stop Loss, Entry or None.
It is advised to allow it to reset in case the stop loss was a fake out but the call was right. Sometimes it may trigger stop loss multiple times in a row, but you don’t lose much on stop loss and you gain lots when the call is right.
The Take Profit location is the basis line (white). Take Profit occurs when the Exit Source (close, open, high, low or other) crosses the basis line and then on a different bar the Exit Source crosses back over the basis line. For example, if it was a Long and the bar’s Exit Source closed above the basis line, and then 2 bars later its Exit Source closed below the basis line, Take Profit would occur. You can disable Take Profit in Settings, but it is very useful as many times the price will cross the Basis and then correct back rather than making it all the way to the opposing zone.
Longs:
If for instance your Long doesn’t need to Take Profit and instead reaches the top zone, it will close the position when it crosses above the inner top line (green).
Please note you can change the Exit Source too which is what source (close, open, high, low) it uses to end the trades.
The Shorts work the same way as the Long but just opposite, they start when the purchase source crosses under the inner upper band (green).
Shorts:
Shorts take profit when it crosses under the basis line and then crosses back.
Shorts will Stop loss when their outer upper band (green) is crossed with the Exit Source.
Short trades are completed and closed when its Exit Source crosses under the inner low red band.
So, now that you understand how the strategy works, let’s discuss why this strategy works and how it is profitable.
First we will discuss Volume as we deem it plays a much bigger role overall and in our strategy:
As I’m sure many of you know, Volume plays a huge factor in how much something moves, but it also plays a role in the strength of the movement. For instance, let’s look at two scenarios:
Bitcoin’s price goes up $1000 in 1 Day but the Volume was only 10 million
Bitcoin’s price goes up $200 in 1 Day but the Volume was 40 million
If you were to only look at the price, you’d say #1 was more important because the price moved x5 the amount as #2, but once you factor in the volume, you know this is not true. The reason why Volume plays such a huge role in Price movement is because it shows there is a large Limit Order battle going on. It means that both Bears and Bulls believe that price is a good time to Buy and Sell. This creates a strong Support and Resistance price point in this location. If we look at scenario #2, when there is high volume, especially if it is drastically larger than the average volume Bitcoin was displaying recently, what can we decipher from this? Well, the biggest take away is that the Bull’s won the battle, and that likely when that happens we will see bullish movement continuing to happen as most of the Bears Limit Orders have been fulfilled. Whereas with #2, when large price movement happens and Bitcoin goes up $1000 with low volume what can we deduce? The main takeaway is that Bull’s pressured the price up with Market Orders where they purchased the best available price, also what this means is there were very few people who were wanting to sell. This generally dictates that Whale Limit orders for Sells/Shorts are much higher up and theres room for movement, but it also means there is likely a whale that is ready to dump and crash it back down.
You may be wondering, what did this example have to do with YinYang RSI Volume Trend Strategy? Well the reason we’ve discussed this is because we use Volume multiple times to apply multiplications in our calculations to add large weight to the price when there is lots of volume (this is applied both positively and negatively). For instance, if the price drops a little and there is high volume, our strategy will move its bounds MUCH lower than the price actually dropped, and if there was low volume but the price dropped A LOT, our strategy will only move its bounds a little. We believe this reflects higher levels of price accuracy than just price alone based on the examples described above.
Don’t believe us?
Here is with Volume NOT factored in (VWMA = SMA and we remove our Volume Filter calculation):
Which produced -$2880 Profit
Here is with our Volume factored in:
Which produced $553,000 (55.3%)
As you can see, we wen’t from $-2800 profit with volume not factored to $553,000 with volume factored. That's quite a big difference! (Please note previous success does not predict future success we are simply displaying the $ amounts as example).
Now how about RSI and why does it matter in this strategy?
As I’m sure most of you are aware, RSI is one of the leading indicators used in trading. For this reason we figured it would only make sense to incorporate it into our calculations. We fiddled with RSI for quite awhile and sometimes what logically seems to be the right way to use it isn’t. Now, because of this, our RSI calculation is a little odd, but basically what we’re doing is we calculate the RSI, then turn it into a percentage (between 0-1) that can easily be multiplied to the price point we need. The price point we use is the difference between our high purchase zone and our low purchase zone. This allows us to see how much price movement there is between zones. We multiply our zone size with our RSI multiplication and we get the amount we will add +/- to our basis line (white line). This officially creates the NEW high and low purchase zones that we are actually using and displaying in our trades.
If you found that confusing, here are some examples to why it is an important calculation for this strategy:
Before RSI factored in:
Which produced 27.8% Profit
After RSI factored in:
Which produced 553% Profit
As you can see, the RSI makes not only the purchase zones more accurate, but it also greatly increases the profit the strategy is able to make. It also helps ensure an relatively linear profit slope so you know it is reliable with its trades.
This strategy can work on pretty much anything, but you should tweak the values a bit for each pair you are trading it with for best results.
We hope you can find some use out of this simple but effective strategy, if you have any questions, comments or concerns please let us know.
HAPPY TRADING!
MMI Auto Backtesting StrategyDescription:
A strategy based on ATR with auto-backtesting capabilities, Take Profit and Stop Loss (either Normal or Trailing). It allows you to select ranges of values and step for each parameter, and backtest the strategy on a multitude of input combinations at once. You can alternatively use a constant value for each parameter. The backtesting results strive to be as close as possible to those given by Tradingview Strategy Tester.
The strategy displays a table with results for different input combinations. This has columns showing current input combination as well as the following stats: Net Profit, Number of trades, % of Profitable trades, Profit Factor, Max Drawdown, Max Runup, Average Trade and Average number of bars in a trade.
You can sort the table by any column (including sorting by multiple columns at the same time) to find, for example, input combination that gives highest Net Profit (or, if sorting by multiple columns, to find input combination with the best balance of Net Profit and % of Profitable trades). You can filter by any column as well (or multiple columns at the same time), using logical expressions like "< value", "> value", "<= value", ">= value". And you can use logical expressions like "< value%" for Net Profit, Max Drawdown, Max Runup and Average trade to filter by percentage value. You will see a "↓" symbol in column's header if that column is sorted from Highest to Lowest, a "↑" symbol if it's sorted from Lowest to Highest and a "𐕢" symbol if that column is being filtered.
The table has customisable styles (like text color, background color of cells, etc.), and can show the total number of backtested combinations with the time taken to test them. You can also change Initial Capital and Position Size (either Contracts, Currency or % of Equity).
Parameters:
The following parameters are located in the "INPUTS (USUAL STRATEGY)" group, and control the behaviour of strategy itself (not the auto-backtesting functionality):
- Period: ATR Length
- Multiplier: ATR Multiplier
- DPO: length of the filtering moving average
- SL: stop loss
- TP: take profit
- Use Stop Loss: enable stop loss
- Stop Loss Mode: stop loss mode (either Normal or Trailing)
- Use Take Profit: enable take profit
- Wicks: use high & low price, or close price
The strategy also has various parameters separated by different groups:
- INPUTS (AUTO-BACKTESTING): has the same parameters as the "INPUTS (USUAL STRATEGY)" group, but controls the input combinations for auto-backtesting; all the numeric parameters have 3 values: F/V (from), T (to) and S (step); if the checkbox to the left of F/V parameter is off, the value of F/V will indicate the constant value used for that parameter (if the checkbox is on, the values will be from F/V to T using step S)
- STRATEGY: contains strategy related parameters like Initial Capital and Position Size
- BACKTESTING: allows you to display either Percentage, Absolute or Both values in the table and has checkboxes that allow you to exclude certain columns from the table
- SORTING: allows you to select sorting mode (Highest to Lowest or vice versa) and has checkboxes in case you want to sort by multiple columns at the same time
- FILTERING: has a text field for each column of the strategy where you can type logical expressions to filter the values
- TABLE: contains styling parameters
Many parameters have the "(i)" description marker, so hover over it to see more details.
Problems:
- The script works best on lower timeframes and continuous markets (trades 24/7), in other cases the backtesting results may vary from those that Tradingview shows
- The script shows closest results when Take Profit and Stop Loss are not used
- Max Runup percentage value is often wrong
Limitations:
- As we are limited by the maximum time a script can be running (which is 20s for Free plan and 40s for Paid plans), we can only backtest several hundreds of combinations within that timeframe (though it depends on the parameters, market and timeframe of the chart you use)
Risk Management and Positionsize - MACD exampleMastering Risk Management
Risk management is the cornerstone of successful trading, and it's often the difference between turning a profit and suffering a loss. In light of its importance, I share a risk management tool which you can use for your trading strategies. The script not only assists in position sizing but also comes with built-in technical features that help in market timing. Let's delve into the nitty-gritty details.
Input Parameter: MarginFactor
One of the key features of the script is the MarginFactor input parameter. This element lets you control the portion of your equity used for placing each trade. A MarginFactor of -0.5 means 50% of your total equity will be deployed in placing the position size. Although Tradingview has a built-in option to adjust position sizing in a same way, I personally prefer to have the logic in my pinecode script. The main reason is userexperience in managing and testing different settings for different charts, timeframes and instruments (with the same strategy).
Stoploss and MarginFactor
If your strategy has a 4% stop-loss, you can choose to use only 50% of your equity by setting the MarginFactor to -0.5. In this case, you are effectively risking only 2% of your total capital per trade, which aligns well with the widely-accepted rule of thumb suggesting a 1-2% risk per trade. Similar if your stoploss is only 1% you can choose to change the MarginFactor to 1, resulting in a positionsize of 200% of your equity. The total risk would be again 2% per trade if your stoploss is set to 1%.
Max Drawdown and MarginFactor
Your MarginFactor setting can also be aligned with the maximum drawdown of your strategy, seen during a backtested period of 2-3 years. For example, if the max drawdown is 15%, you could calibrate your MarginFactor accordingly to limit your risk exposure.
Option to Toggle Number of Contracts
The script offers the option to toggle between using a percentage of equity for position sizing or specifying a fixed number of contracts. Utilizing a percentage of equity might yield unrealistic backtest results, especially over longer periods. This occurs because as the capital grows, the absolute position size also increases, potentially inflating the accumulated returns generated by the backtester. On the other hand, setting a fixed number of contracts as your position size offers a more stable and realistic ROI over the backtested period, as it removes the compounding effect on position sizes.
Key Features Strategy
MACD High Time Frame Entry and Exit Logic
The strategy employs a high time frame MACD (Moving Average Convergence Divergence) to make entry and exit decisions. You can easily adjust the timeframe settings and MACD settings in the inputsection to trade on lower timeframes. For more information on the HTF MACD with dynamic smoothing see:
Moving Average High Time Frame Filter
To reduce market 'noise', the strategy incorporates a high time frame moving average filter. This ensures that the trades are aligned with the dominant market trend (trading the trend). In the inputsection traders can easily switch between different type of moving averages. For more information about this HTF filter see:
Dynamic Smoothing
The script includes a feature for dynamic smoothing. The script contains The timeframeToMinutes(tf) function to convert any given time frame into its equivalent in minutes. For example, a daily (D) time frame is converted into 1440 minutes, a weekly (W) into 10,080 minutes, and so forth. Next the smoothing factor is calculated by dividing the minutes of the higher time frame by those of the current time frame. Finally, the script applies a Simple Moving Average (SMA) over the MACD, SIGNAL, and HIST values, MA filter using the dynamically calculated smoothing factor.
User Convenience: One of the major benefits is that traders don't need to manually adjust the smoothing factor when switching between different time frames. The script does this dynamically.
Visual Consistency: Dynamic smoothing helps traders to more accurately visualize and interpret HTF indicators when trading on lower time frames.
Time Frame Restriction: It's crucial to note that the operational time frame should always be lower than the time frame selected in the input sections for dynamic smoothing to function as intended.
By incorporating this dynamic smoothing logic, the script offers traders a nuanced yet straightforward way to adapt High Time Frame indicators for lower time frame trading, enhancing both adaptability and user experience.
Limitations: Exit Strategy
It's crucial to note that the script comes with a simplified exit strategy, devoid of features like a stop-loss, trailing stop-loss or multiple take profits. This means that while the script focuses on entries and risk management, it might result in higher losses if market conditions unexpectedly turn unfavorable.
Conclusion
Effective risk management is pivotal for trading success, and this TradingView script is designed to give you a better idea how to implement positions sizing with your preferred strategy. However, it's essential to note that this tool should not be considered financial advice. Always perform your due diligence and consult with financial advisors before making any trading decisions.
Feel free to use this risk management tool as building block in your trading scripts, Happy Trading!
Dual-Supertrend with MACD - Strategy [presentTrading]## Introduction and How it is Different
The Dual-Supertrend with MACD strategy offers an amalgamation of two trend-following indicators (Supertrend 1 & 2) with a momentum oscillator (MACD). It aims to provide a cohesive and systematic approach to trading, eliminating the need for discretionary decision-making.
Key advantages over traditional single-indicator strategies:
- Dual Supertrend Validation: Utilizes two Supertrend indicators with different ATR periods and factors to confirm the trend direction. This double-check mechanism minimizes false signals.
- Momentum Confirmation: The MACD histogram acts as a momentum filter, confirming entries and exits, thus adding an extra layer of validation.
- Objective Entry and Exit: The strategy generates buy and sell signals based on a combination of trend direction and momentum, leaving no room for subjective interpretation.
- Automated Trade Management: The strategy includes built-in settings for commission, slippage, and initial capital, automating the trade execution process.
- Adaptability: The strategy allows for easy customization of all its parameters, adapting to a trader's specific needs and varying market conditions.
BTCUSD 8hr chart Long Condition
BTCUSD 6hr chart Long Short Condition
## Strategy, How it Works
The strategy operates on a set of clearly defined rules, primarily focusing on the trend direction confirmed by the Dual-Supertrend and the momentum as indicated by the MACD histogram.
### Entry Rules
- Long Entry: When both Supertrend indicators are bullish and the MACD histogram is above zero.
- Short Entry: When both Supertrend indicators are bearish and the MACD histogram is below zero.
### Exit Rules
- Exit long positions when either of the Supertrends turn bearish or the MACD histogram drops below zero.
- Exit short positions when either of the Supertrends turn bullish or the MACD histogram rises above zero.
### Trade Management
- The strategy uses a fixed commission rate and slippage in its calculations.
- Automated risk management features are integrated to avoid overexposure.
## Trade Direction
The strategy allows for trading in both bullish and bearish markets. Users can select their preferred trading direction ("long", "short", or "both") to align with their market outlook and trading objectives.
## Usage
- The strategy is best applied on timeframes where the trend is evident.
- Users can modify the ATR periods, factors for Supertrends, and MACD settings to suit their trading needs.
## Default Settings
- ATR Period for Supertrend 1: 10
- Factor for Supertrend 1: 3.0
- ATR Period for Supertrend 2: 20
- Factor for Supertrend 2: 5.0
- MACD Fast Length: 12
- MACD Slow Length: 26
- MACD Signal Smoothing: 9
- Commission: 0.1%
- Slippage: 1 point
- Trading Direction: Both
The strategy comes with these default settings to offer a balanced trading approach but can be customized according to individual trading preferences.
Linear Cross Trading StrategyLinear Cross Trading Strategy
The Linear Cross trading strategy is a technical analysis strategy that uses linear regression to predict the future price of a stock. The strategy is based on the following principles:
The price of a stock tends to follow a linear trend over time.
The slope of the linear trend can be used to predict the future price of the stock.
The strategy enters a long position when the predicted price crosses above the current price, and exits the position when the predicted price crosses below the current price.
The Linear Cross trading strategy is implemented in the TradingView Pine script below. The script first calculates the linear regression of the stock price over a specified period of time. The script then plots the predicted price and the current price on the chart. The script also defines two signals:
Long signal: The long signal is triggered when the predicted price crosses above the current price.
Short signal: The short signal is triggered when the predicted price crosses below the current price.
The script enters a long position when the long signal is triggered and exits the position when the short signal is triggered.
Here is a more detailed explanation of the steps involved in the Linear Cross trading strategy:
Calculate the linear regression of the stock price over a specified period of time.
Plot the predicted price and the current price on the chart.
Define two signals: the long signal and the short signal.
Enter a long position when the long signal is triggered.
Exit the long position when the short signal is triggered.
The Linear Cross trading strategy is a simple and effective way to trade stocks. However, it is important to note that no trading strategy is guaranteed to be profitable. It is always important to do your own research and backtest the strategy before using it to trade real money.
Here are some additional things to keep in mind when using the Linear Cross trading strategy:
The length of the linear regression period is a key parameter that affects the performance of the strategy. A longer period will smooth out the noise in the price data, but it will also make the strategy less responsive to changes in the price.
The strategy is more likely to generate profitable trades when the stock price is trending. However, the strategy can also generate profitable trades in ranging markets.
The strategy is not immune to losses. It is important to use risk management techniques to protect your capital when using the strategy.
I hope this blog post helps you understand the Linear Cross trading strategy better. Booost and share with your friend, if you like.
Liquidity Breakout - Strategy [presentTrading]- Introduction and How It Is Different
The Liquidity Breakout Strategy is a unique trading strategy that focuses on identifying and leveraging patterns in market price data. This strategy, mainly inspired by the script "Master Pattern" by LuxAlgo, takes a different approach from many traditional strategies that rely on technical indicators or fundamental analysis. Instead, the Liquidity Breakout is based on the concept of contraction detection and liquidity levels. This approach allows traders to identify potential trading opportunities that other strategies might miss.
BTCUSDT 6h
The strategy is different from other trading strategies because it uses a unique combination of pattern detection, liquidity levels, and user-defined trading direction. This combination allows the strategy to adapt to various market conditions and trading styles, making it a versatile tool for traders.
- Strategy: How It Works
1. Contraction Detection: The strategy uses a lookback period defined by the user (default is 10 bars) to identify contractions in the market. A contraction is a period where the market is consolidating, often followed by a significant price movement. The strategy identifies contractions by finding pivot highs and pivot lows within the lookback period. If a pivot high is lower than the previous pivot high and a pivot low is higher than the previous pivot low, a contraction is detected.
2. liquidity Levels:
What are Liquidity levels? Liquidity levels, also known as liquidity pools or zones, are price levels at which there is a significant amount of trading activity. They are often areas where large institutional traders (like banks or hedge funds) have placed orders. These levels are important because they can act as support or resistance levels, and price often reacts at these levels.
In the context of this strategy, liquidity levels are used to identify potential entry and exit points for trades. When the price reaches a liquidity level, it could indicate a potential trading opportunity. For example, if the price breaks through a liquidity level, it could signal the start of a new trend. On the other hand, if the price approaches a liquidity level and then reverses, it could signal a potential reversal.
The strategy uses these two elements to identify potential trading opportunities. When a contraction is detected, the strategy will look for a breakout in the direction of the trend. If the breakout occurs at a liquidity level, the strategy will execute a trade.
The strategy also allows traders to set their stop loss based on either the Average True Range (ATR) or a fixed percentage. This flexibility allows traders to manage their risk according to their personal risk tolerance and trading style.
- Trade Direction
One of the unique features of the Master Pattern Strategy is the ability to choose the trading direction. Traders can choose to trade in the "Long" direction, the "Short" direction, or "Both". This feature allows traders to adapt the strategy to their personal trading style and market outlook.
For example, if a trader believes that the market is in an uptrend, they can choose to trade only in the "Long" direction. Conversely, if the market is in a downtrend, they can choose to trade only in the "Short" direction. If the trader believes that the market is volatile and there are opportunities in both directions, they can choose to trade in "Both" directions.
- Usage
To use the strategy, traders need to input their preferred settings, including the contraction detection lookback period, liquidity levels, stop loss type, and trading direction. Once these settings are input, the strategy will automatically detect potential trading opportunities and execute trades according to the defined parameters.
- Default Settings
The default settings for the Master Pattern Strategy are as follows:
Contraction Detection Lookback: 10
Liquidity Levels: 20
Stop Loss Type: ATR
ATR Length: 20
ATR Multiplier: 3.0
Fixed Percentage: 0.01
Trading Direction: Both
These settings can be adjusted according to the trader's personal preferences and market conditions. It's recommended that traders experiment with different settings to find the ones that work best for their trading style and goals.
Nadaraya-Watson Envelope Strategy (Non-Repainting) Log ScaleIn the diverse world of trading strategies, the Nadaraya-Watson Envelope Strategy offers a different approach. Grounded in mathematical analysis, this strategy utilizes the Nadaraya-Watson kernel regression, a method traditionally employed for interpreting complex data patterns.
At the core of this strategy lies the concept of 'envelopes', which are essentially dynamic volatility bands formed around the price based on a custom Average True Range (ATR). These envelopes help provide guidance on potential market entry and exit points. The strategy suggests considering a buy when the price crosses the lower envelope and a sell when it crosses the upper envelope.
One distinctive characteristic of the Nadaraya-Watson Envelope Strategy is its use of a logarithmic scale, as opposed to a linear scale. The logarithmic scale can be advantageous when dealing with larger timeframes and assets with wide-ranging price movements.
The strategy is implemented using Pine Script v5, and includes several adjustable parameters such as the lookback window, relative weighting, and the regression start point, providing a level of flexibility.
However, it's important to maintain a balanced view. While the use of mathematical models like the Nadaraya-Watson kernel regression may provide insightful data analysis, no strategy can guarantee success. Thorough backtesting, understanding the mathematical principles involved, and sound risk management are always essential when applying any trading strategy.
The Nadaraya-Watson Envelope Strategy thus offers another tool for traders to consider. As with all strategies, its effectiveness will largely depend on the trader's understanding, application, and the specific market conditions.
ATR GOD Strategy by TradeSmart (PineConnector-compatible)This is a highly-customizable trading strategy made by TradeSmart, focusing mainly on ATR-based indicators and filters. The strategy is mainly intended for trading forex , and has been optimized using the Deep Backtest feature on the 2018.01.01 - 2023.06.01 interval on the EUR/USD (FXCM) 15M chart, with a Slippage value of 3, and a Commission set to 0.00004 USD per contract. The strategy is also made compatible with PineConnector , to provide an easy option to automate the strategy using a connection to MetaTrader. See tooltips for details on how to set up the bot, and check out our website for a detailed guide with images on how to automate the strategy.
The strategy was implemented using the following logic:
Entry strategy:
A total of 4 Supertrend values can be used to determine the entry logic. There is option to set up all 4 Supertrend parameters individually, as well as their potential to be used as an entry signal/or a trend filter. Long/Short entry signals will be determined based on the selected potential Supertrend entry signals, and filtered based on them being in an uptrend/downtrend (also available for setup). Please use the provided tooltips for each setup to see every detail.
Exit strategy:
4 different types of Stop Losses are available: ATR-based/Candle Low/High Based/Percentage Based/Pip Based. Additionally, Force exiting can also be applied, where there is option to set up 4 custom sessions, and exits will happen after the session has closed.
Parameters of every indicator used in the strategy can be tuned in the strategy settings as follows:
Plot settings:
Plot Signals: true by default, Show all Long and Short signals on the signal candle
Plot SL/TP lines: false by default, Checking this option will result in the TP and SL lines to be plotted on the chart.
Supertrend 1-4:
All the parameters of the Supertrends can be set up here, as well as their individual role in the entry logic.
Exit Strategy:
ATR Based Stop Loss: true by default
ATR Length (of the SL): 100 by default
ATR Smoothing (of the SL): RMA/SMMA by default
Candle Low/High Based Stop Loss: false by default, recent lowest or highest point (depending on long/short position) will be used to calculate stop loss value. Set 'Base Risk Multiplier' to 1 if you would like to use the calculated value as is. Setting it to a different value will count as an additional multiplier.
Candle Lookback (of the SL): 50 by default
Percentage Based Stop Loss: false by default, Set the stop loss to current price - % of current price (long) or price + % of current price (short).
Percentage (of the SL): 0.3 by default
Pip Based Stop Loss: Set the stop loss to current price - x pips (long) or price + x pips (short). Set 'Base Risk Multiplier' to 1 if you would like to use the calculated value as is. Setting it to a different value will count as an additional multiplier.
Pip (of the SL): 10 by default
Base Risk Multiplier: 4.5 by default, the stop loss will be placed at this risk level (meaning in case of ATR SL that the ATR value will be multiplied by this factor and the SL will be placed that value away from the entry level)
Risk to Reward Ratio: 1.5 by default, the take profit level will be placed such as this Risk/Reward ratio is met
Force Exiting:
4 total Force exit on custom session close options: none applied by default. If enabled, trades will close automatically after the set session is closed (on next candle's open).
Base Setups:
Allow Long Entries: true by default
Allow Short Entries: true by default
Order Size: 10 by default
Order Type: Capital Percentage by default, allows adjustment on how the position size is calculated: Cash: only the set cash amount will be used for each trade Contract(s): the adjusted number of contracts will be used for each trade Capital Percentage: a % of the current available capital will be used for each trade
ATR Limiter:
Use ATR Limiter: true by default, Only enter into any position (long/short) if ATR value is higher than the Low Boundary and lower than the High Boundary.
ATR Limiter Length: 50 by default
ATR Limiter Smoothing: RMA/SMMA by default
High Boundary: 1000 by default
Low Boundary: 0.0003 by default
MA based calculation: ATR value under MA by default, If not Unspecified, an MA is calculated with the ATR value as source. Only enter into position (long/short) if ATR value is higher/lower than the MA.
MA Type: RMA/SMMA by default
MA Length: 400 by default
Waddah Attar Filter:
Explosion/Deadzone relation: Not specified by default, Explosion over Deadzone: trades will only happen if the explosion line is over the deadzone line; Explosion under Deadzone: trades will only happen if the explosion line is under the deadzone line; Not specified: the opening of trades will not be based on the relation between the explosion and deadzone lines.
Limit trades based on trends: Not specified by default, Strong Trends: only enter long if the WA bar is colored green (there is an uptrend and the current bar is higher then the previous); only enter short if the WA bar is colored red (there is a downtrend and the current bar is higher then the previous); Soft Trends: only enter long if the WA bar is colored lime (there is an uptrend and the current bar is lower then the previous); only enter short if the WA bar is colored orange (there is a downtrend and the current bar is lower then the previous); All Trends: only enter long if the WA bar is colored green or lime (there is an uptrend); only enter short if the WA bar is colored red or orange (there is a downtrend); Not specified: the color of the WA bar (trend) is not relevant when considering entries.
WA bar value: Not specified by default, Over Explosion and Deadzone: only enter trades when the WA bar value is over the Explosion and Deadzone lines; Not specified: the relation between the explosion/deadzone lines to the value of the WA bar will not be used to filter opening trades.
Sensitivity: 150 by default
Fast MA Type: SMA by default
Fast MA Length: 10 by default
Slow MA Type: SMA
Slow MA Length: 20 by default
Channel MA Type: EMA by default
BB Channel Length: 20 by default
BB Stdev Multiplier: 2 by default
Trend Filter:
Use long trend filter 1: false by default, Only enter long if price is above Long MA.
Show long trend filter 1: false by default, Plot the selected MA on the chart.
TF1 - MA Type: EMA by default
TF1 - MA Length: 120 by default
TF1 - MA Source: close by default
Use short trend filter 1: false by default, Only enter long if price is above Long MA.
Show short trend filter 1: false by default, Plot the selected MA on the chart.
TF2 - MA Type: EMA by default
TF2 - MA Length: 120 by default
TF2 - MA Source: close by default
Volume Filter:
Only enter trades where volume is higher then the volume-based MA: true by default, a set type of MA will be calculated with the volume as source, and set length
MA Type: RMA/SMMA by default
MA Length: 200 by default
Date Range Limiter:
Limit Between Dates: false by default
Start Date: Jan 01 2023 00:00:00 by default
End Date: Jun 24 2023 00:00:00 by default
Session Limiter:
Show session plots: false by default, show market sessions on chart: Sidney (red), Tokyo (orange), London (yellow), New York (green)
Use session limiter: false by default, if enabled, trades will only happen in the ticked sessions below.
Sidney session: false by default, session between: 15:00 - 00:00 (EST)
Tokyo session: false by default, session between: 19:00 - 04:00 (EST)
London session: false by default, session between: 03:00 - 11:00 (EST)
New York session: false by default, session between: 08:00 - 17:00 (EST)
Trading Time:
Limit Trading Time: true by default, tick this together with the options below to enable limiting based on day and time
Valid Trading Days Global: 123567 by default, if the Limit Trading Time is on, trades will only happen on days that are present in this field. If any of the not global Valid Trading Days is used, this field will be neglected. Values represent days: Sunday (1), Monday (2), ..., Friday (6), Saturday(7) To trade on all days use: 123457
(1) Valid Trading Days: false, 123456 by default, values represent days: Sunday (1), Monday (2), ..., Friday (6), Saturday(7) The script will trade on days that are present in this field. Please make sure that this field and also (1) Valid Trading Hours Between is checked
(1) Valid Trading Hours Between: false, 1800-2000 by default, hours between which the trades can happen. The time is always in the exchange's timezone
All other options are also disabled by default
PineConnector Automation:
Use PineConnector Automation: false by default, In order for the connection to MetaTrader to work, you will need do perform prerequisite steps, you can follow our full guide at our website, or refer to the official PineConnector Documentation. To set up PineConnector Automation on the TradingView side, you will need to do the following:
1. Fill out the License ID field with your PineConnector License ID;
2. Fill out the Risk (trading volume) with the desired volume to be traded in each trade (the meaning of this value depends on the EA settings in Metatrader. Follow the detailed guide for additional information);
3. After filling out the fields, you need to enable the 'Use PineConnector Automation' option (check the box in the strategy settings);
4. Check if the chart has updated and you can see the appropriate order comments on your chart;
5. Create an alert with the strategy selected as Condition, and the Message as {{strategy.order.comment}} (should be there by default);
6. Enable the Webhook URL in the Notifications section, set it as the official PineConnector webhook address and enjoy your connection with MetaTrader.
License ID: 60123456789 by default
Risk (trading volume): 1 by default
NOTE! Fine-tuning/re-optimization is highly recommended when using other asset/timeframe combinations.
Swing Algo V1.4◆ Introduction
The latest version of the Swing Algo features a complementary system consisting of two internal swing trading logics: an enhanced Swing Algo V1.3 and a secondary control engine to stabilize the overall strategy behaviour in times of increased market chop. Both algorithms feature different averaging lines as well as oscillators, leading to a higher strategy diversification for swing trading as well as a reduced maximum drawdown in comparison to each stand-alone strategy.
While the Swing Algo V1.x series so far featured a single trend-following swing algorithm for each release, where one just switches between Long and Short trades based on one general logic, here two strategies, which act independently of each other, are applied. Due to this, we introduce a third position a trader can be in: the Hedge. The overall logic is as follows:
When both sub-logics are Long, the overall strategy is Long.
When both sub-logics are Short, the overall strategy is Short.
When one sub-logic is Long and the other is Short, the overall strategy is in a Hedge position. It doesn't matter which component is Short and which is Long.
As PineScript doesn't currently offer a real steady hedging-function for two competing swing trading sub-logics (in the sense of a continuously applied Hedge state after hedging conditions are met at least once for an entry), a workaround via position closes was created for this release. For each new internal sub-signal, the overall strategy changes its state (Long/Short/Hedge) visibly on the chart, and the trader can adjust their position accordingly.
For detailed differences to previous Swing Algo V1.x releases, see further below.
◆ Purpose of this Script
This indicator will give Long, Short and Hedge signals on the chart that can be used for e.g. swing trading. Each of the aforementioned sub-logics uses a combination of several (custom) functions and rules to find good entry points for trend trading. After many iterations and tests I came up with this particular setup, which is highly optimized for the ETH/USD trading pair on the daily (D) timeframe.
Attention was also paid to stability, as all parameters are set onto plateaus, so that smaller changes in the characteristic price action should not affect the efficiancy too much, done as an attempt to reduce overfitting as much as possible. Additionally this dual algorithm system is specifically designed to have a safety net: should for the unlikely scenario one swing trading algorithm not trigger at a certain mid-term reversal point, the probability is high that the other will trigger, resulting in an overall hedged position (so that no money is lost in the meantime) until the first algorithm can rejoin at the next mid-term trend change.
For other assets and/or timeframes it is in principle possible to change algorithmic parameters within the indicator settings to tune the swing algorithms, though it is strongly recommended to use the standard asset and timeframe mentioned above.
◆ Viability
For the here presented backtest data, we omitted the biggest portion of the cryptocurrency bullrun in 2017 (starting only at 1st July 2017) so that the results become more realistic for long-term swing traders (investing at least 2-4 years into trading) if such large runs do not happen again. As cryptocurrencies like Ethereum are still to this date capable of doing comparatively smaller runs of about 2-3x in a few weeks/months during accumulation phases (as witnessed e.g. in 2020 and more recently in 2023) and bigger runs during bullmarkets (as witnessed in 2021), the quality of the shown results is still realistic for long-term trend trading efforts over several years, Note that very conservative trading parameters as mentioned below in "Forwardtesting and Backtesting" are used here.
Generally do not expect results in a matter of days or weeks, and of course as with any trading strategy past performances are not indicative of future results.
◆ Forwardtesting and Backtesting
The individual components have been back- and partially forwardtested: The first sub-logic is an advancement of Swing Algo V1.3, with which we have extensive experience running back to October 2020 for its release, while the secondary control strategy, which was privately published for DeanTrader members as a stand-alone script on TradingView in June 2022 and was running in the background since then, is showing good & expected behaviour so far.
While this does not mean that fowardtesting was performed specifically for the combined Swing Algo V1.4 system we have now (which cannot be done realistically considering the timeframes used, i.e. months and especially years), we can at least look at some considerable experience with the individual components. Then again, as I have implemented an exact hedging-function so that both sub-algorithms run independently from each other, it is not likely to see any unexpected behaviour resulting purely from the combination into one script.
For strategy backtesting you can choose the backtest time interval to test the performance of this algorithm for different time windows and different trading pairs. Here various backtesting parameters (e.g. trading fees) can be customized. Default settings for the shown backtest are a starting balance of $1000, a slippage of 20 ticks (= $0.20) and a trading fee of 0.05 % (which is the worst taker fee on the Kraken Pro futures exchange) to have realistic settings. However as we do not conduct many trades with this strategy, fees should not impact our performance too much. As long-term swing traders, we at DeanTrader generally devote one initial portion of our portfolio to swing trading and from then on always use 100% of this portion for the next trade to get the compounding starting. This is in difference to other trading styles which use various, often very small, percentage values for their short- or mid-term trades. Please note that for the here presented backtest only 10% of compounded equity is used for each successive trade to show an estimation for a lower risk & lower reward approach . Keep this in mind when evaluating the backtest data. You can set appropriate values for each backtest parameter in the "Properties" setting menu of the strategy, including the order size percentage of equity value for your trades. Also note that due to the small number of trades the statistical significance is low. It is not possible to gather an abundance of long-term trend signals in the order of hundreds or thousands trades, as much more time would have to pass for this in the case of rather new assets like Ethereum.
Additionally to the TradingView Strategy Tester you can also plot your equity directly on the chart to get a sense for the performance. For this you can also scale the equity graph to e.g. match the starting point of your equity with some price point on the chart to get a direct comparison to 'Buy & Hold' strategies over time.
This indicator (and all other content I provide) is no financial advice. If you use this indicator you agree to my Terms and Conditions which can be found on my website linked on my TradingView profile or in my signature.
◆ Visual Representation on the Chart
Shown below is a screenshot of how the chart looks like when the strategy is applied. Here we can see two different averaging lines, where each line belongs to one of the two sub-logics respectively. Note that this is not a MA-crossover strategy, and the crossing of the lines is not accounted for in the code at all and therefore has no effect on the strategy's signal output. Also note that the price scale is set on logarithmic.
The space between the lines is filled with a faint background color as a rough visual indicator. Magenta-colored fills indicate zones where only Short or Hedge signals can appear, while green-colored fills indicate zones where only Long or Hedge signals can appear. Gray-colored fills mark zones where only Hedge signals can appear, which also means that Hedge signals can appear in any zone. So treat those background fills more as a visual aid to roughly know what can happen next, but pay most attention to the actual signals (with arrows) that appear on the chart.
◆ Differences to Other Versions
Consists now of two competing sub-algorithms instead of just one algorithm. The new system outputs Long, Short and Hedge signals instead of just Long and Short signals.
The first sub-logic is the spiritual successor of the original Swing Algo V1.3 release, with a modified oscillator part.
The second sub-logic serves as a control algorithm (while still having equal rights in terms of strategy impact), newly introduced to the Swing Algo series, but already forwardtested for roughly a year at time of release.
Lowers risk significantly by diversifying swing trading strategies, so that for the rare scenario of a missed trend on one sub-algorithm, losses are prevented as the overall strategy is hedged during that time.
Lowers risk further as the maximum drawdown of the combined strategy is reduced by roughly 1/3 in comparison to each stand-alone strategy while almost retaining the same net profit over a 6-year backtest compared to the first, leading sub-logic.
No guesswork anymore when to use which short leverage (1x corresponding to a Hedge, or 2x corresponding to a Short with an asset-value-change-to-gain-proportionality of -1) as it is clearly defined within the trading system via the displayed signals. In earlier Swing Algo versions, the short leverage for any particular Short signal had to be chosen by hand dependent on market sentiment, which required further market analysis, or was fixed at 2x, leading to less flexibility.
◆ Access
For access please contact me via DM on TradingView or via other channels (linked on my TradingView profile and in my signature).
Williams %R Cross Strategy with 200 MA Filter
1. The script is a trading strategy based on the Williams %R indicator and a 200-period moving average (MA) filter.
2. The user can input the length of the Williams %R indicator (`wrLength`), the threshold for %R crossing (`crossPips`), the take profit level in pips (`takeProfitPips`), and the stop loss level in pips (`stopLossPips`).
3. The script calculates the Williams %R using the `ta.highest` and `ta.lowest` functions to find the highest high and lowest low over the specified length (`wrLength`).
4. It also calculates a 200-period simple moving average (`ma200`) using the `ta.sma` function.
5. The entry conditions are defined as follows:
- For a long entry, it checks if the Williams %R crosses above the -50 line by a threshold of `crossPips` and if the close price is above the 200-period MA.
- For a short entry, it checks if the Williams %R crosses below the -50 line by a threshold of `crossPips` and if the close price is below the 200-period MA.
6. The exit conditions are defined as follows:
- For a long position, it checks if the close price reaches the take profit level (defined as the average entry price plus `takeProfitPips` in pips) or the stop loss level (defined as the average entry price minus `stopLossPips` in pips).
- For a short position, it checks if the close price reaches the take profit level (defined as the average entry price minus `takeProfitPips` in pips) or the stop loss level (defined as the average entry price plus `stopLossPips` in pips).
7. The script uses the `strategy.entry` function to place long and short orders when the respective entry conditions are met.
8. It uses the `strategy.close` function to close the long and short positions when the respective exit conditions are met.
The script allows you to customize the parameters such as the length of Williams %R, the crossing threshold, take profit and stop loss levels, and the moving average period to suit your trading preferences.
Equity Curve Trading with EMAWhat Is Equity Curve Trading?
In equity curve trading, traders apply a moving average to the curve. The idea is when the equity curve drops below the moving average, the strategy is put on hold. This is done to stop losses when either the hopes of the plan working start dimming or when the trader knows he cannot afford more losses on a strategy. The trader can resume trading this particular strategy when the equity curve is above the moving average.
Equity Curve Trading puts an investor at the ease of knowing that his investment is covered even when he is not actively tracking his strategy. When the equity curve dips below a level investor is comfortable with, it can be paused until such time that the equity curve is back above the determined moving average.
Example:
Equity Curve Trading Example
Trading Strategy
I choosed the SuperTrend strategy for BTCUSDT on 4 hour time frame. That shows nice equity curve with default settings. Let's find out and check can we improve the equity curve with this modern money management trade method?
Some shift is exist in original equity curve relatively to filtered equity curve, because of array usage, but it is not affected on calculations.
Conclusion
I tested a different time frames, settings and equity curves shapes, but it not gives advantages in equity curve. You can look at the table on the top right corner of the strategy with equity curve and you will see some statistic information for the original strategy and for the modified equity curve trade strategy. In most cases we have lower Win Rate and lower Net Profit after turning on Equity curve trading method. In some cases this can be help if you have the equity curve looks like at the picture above, but this equity curve is really bad for choosing this strategy to trade. I found that EMA works better than SMA, and RMA works better then EMA applied to Equity Curve. You can test your strategy with this trade method if you want, I make the source code opened for it. Please share your results, I hope it will helps.
Conclusion 2
Equity Curve Trading definitely has its proponents in the industry, some of them quite vocal. But, the overall efficacy of the approach is certainly not crystal clear. In fact, what is clear is that it is relatively easy to take a good strategy, and significantly degrade its performance by employing equity curve trading. While the overall objective of equity curve trading is unquestionable – cease trading poor performing strategies - it is probable that there are better ways of accomplishing that goal. From this study, the conclusion is equity curve trading with simple indicators has more downside than upside.
Monthly Strategy Performance TableWhat Is This?
This script code adds a Monthly Strategy Performance Table to your Pine Script strategy scripts so you can see a month-by-month and year-by-year breakdown of your P&L as a percentage of your account balance.
The table is based on realized equity rather than open equity, so it only updates the metrics when a trade is closed.
That's why some numbers will not match the Strategy Tester metrics (such as max drawdown), as the Strategy Tester bases metrics like max drawdown on open trade equity and not realized equity (closed trades).
The script is still a work-in-progress, so make sure to read the disclaimer below. But I think it's ready to release the code for others to play around with.
How To Use It
The script code includes one of my strategies as an example strategy. You need to replace my strategy code with your own. To do that just copy the source code below into a blank script, delete lines 11 -> 60 and paste your strategy code in there instead of mine. The script should work with most systems, but make sure to read the disclaimer below.
It works best with a significant amount of historical data, so it may not work very effectively on intraday timeframes as there is a severe limitation of available bars on TradingView. I recommend using it on 4HR timeframes and above, as anything less will produce very little usable data. Having a premium TradingView plan will also help boost the number of available bars.
You can hover your mouse over a table cell to get more information in the form of tooltips (such as the Long and Short win rate if you hover over your total return cell).
Credit
The code in this script is based on open-source code originally written by QuantNomad, I've made significant changes and additions to the original script but all credit for the idea and especially the display table code goes to them - I just built on top of it:
Why Did I Make This?
None of this is trading or investment advice, just my personal opinion based on my experience as a trader and systems developer these past 6+ years:
The TradingView Strategy Tester is severely limited in some important ways. And unless you use complex Excel formulas on exported test data, you can't see a granular perspective of your system's historical performance.
There is much more to creating profitable and tradeable systems than developing a strategy with a good win rate and a good return with a reasonable drawdown.
Some additional questions we need to ask ourselves are:
What did the system's worst drawdown look like?
How long did it last?
How often do drawdowns occur, and how quickly are they typically recovered?
How often do we have a break-even or losing month or year?
What is our expected compounded annual growth rate, and how does that growth rate compare to our max drawdown?
And many more questions that are too long to list and take a lifetime of trading experience to answer.
Without answering these kinds of questions, we run the risk of developing systems that look good on paper, but when it comes to live trading, we are uncomfortable or incapable of enduring the system's granular characteristics.
This Monthly Performance Table script code is intended to help bridge some of that gap with the Strategy Tester's limited default performance data.
Disclaimer
I've done my best to ensure the numbers this code outputs are accurate, and according to my testing with my personal strategy scripts it appears to work fine. But there is always a good chance I've missed something, or that this code will not work with your particular system.
The majority of my TradingView systems are extremely simple single-target systems that operate on a closed-candle basis to minimize many of the data reliability issues with the Strategy Tester, so I was unable to do much testing with multiple targets and pyramiding etc.
I've included a Debug option in the script that will display important data and information on a label each time a trade is closed. I recommend using the Debug option to confirm that the numbers you see in the table are accurate and match what your strategy is actually doing.
Always do your own due diligence, verify all claims as best you can, and never take anyone's word for anything.
Take care, and best of luck with your trading :)
Kind regards,
Matt.
PS. If you're interested in learning how this script works, I have a free hour-long video lesson breaking down the source code - just check out the links below this script or in my profile.
Slight Swing Momentum Strategy.Introduction:
The Swing Momentum Strategy is a quantitative trading strategy designed to capture mid-term opportunities in the financial markets by combining swing trading principles with momentum indicators. It utilizes a combination of technical indicators, including moving averages, crossover signals, and volume analysis, to generate buy and sell signals. The strategy aims to identify market trends and capitalize on price momentum for profit generation.
Highlights:
The strategy offers several key highlights that make it unique and potentially attractive to traders:
Swing Trading with Momentum: The strategy combines the principles of swing trading, which aim to capture short-to-medium-term price swings, with momentum indicators that help identify strong price trends and potential breakout opportunities.
Technical Indicator Optimization: The strategy utilizes a selection of optimized technical indicators, including moving averages and crossover signals, to filter out the noise and focus on high-probability trading setups. This optimization enhances the strategy's ability to identify favourable entry and exit points.
Risk Management: The strategy incorporates risk management techniques, such as position sizing based on equity and dynamic stop loss levels, to manage risk exposure and protect capital. This helps to minimize drawdowns and preserve profits.
Buy Condition:
The buy condition in the strategy is determined by a combination of factors, including A1, A2, A3, XG, and weeklySlope. Let's break it down:
A1 Condition: The A1 condition checks for specific price relationships. It verifies that the ratio of the highest price to the closing price is less than 1.03, the ratio of the opening price to the lowest price is less than 1.03, and the ratio of the highest price to the previous day's closing price is greater than 1.06. This condition looks for a specific pattern indicating potential bullish momentum.
A2 Condition: The A2 condition checks for price relationships related to the closing price. It verifies that the ratio of the closing price to the opening price is greater than 1.05 or that the ratio of the closing price to the previous day's closing price is greater than 1.05. This condition looks for signs of upward price movement and momentum.
A3 Condition: The A3 condition focuses on volume. It checks if the current volume crosses above the highest volume over the last 60 periods. This condition aims to identify increased buying interest and potentially confirms the strength of the potential upward price movement.
XG Condition: The XG condition combines the A1 and A2 conditions and checks if they are true for both the current and previous bars. It also verifies that the ratio of the closing price to the 5-period EMA crosses above the 9-period SMA of the same ratio. This condition helps identify potential buy signals when multiple factors align, indicating a strong bullish momentum and potential entry point.
Weekly Trend Factor: The weekly slope condition calculates the slope of the 50-period SMA over a weekly timeframe. It checks if the slope is positive, indicating an overall upward trend on a weekly basis. This condition provides additional confirmation that the stock is in an upward trend.
When all of these conditions align, the buy condition is triggered, indicating a favourable time to enter a long position.
Sell Condition:
The sell condition is relatively straightforward in the strategy:
Sell Signal: The sell condition simply checks if the closing price crosses below the 10-period EMA. When this condition is met, it indicates a potential reversal or weakening of the upward price momentum, and a sell signal is generated.
Backtest Outcome:
The strategy was backtested over the period from January 22nd, 1999 to May 3rd, 2023, using daily candlestick charts for the NASDAQ: NVDA. The strategy used an initial capital of 1,000,000 USD, The order quantity is defined as 10% of the equity. The strategy allows for pyramiding with 1 order, and the transaction fee is set at 0.03% per trade. Here are the key outcomes of the backtest:
Net Profit: 539,595.84 USD, representing a return of 53.96%.
Percent Profitable: 48.82%
Total Closed Trades: 127
Profit Factor: 2.331
Max Drawdown: 68,422.70 USD
Average Trade: 4,248.79 USD
Average Number of Bars in Trades: 11, indicating the average duration of the trades.
Conclusion:
In conclusion, the Swing Momentum Strategy is a quantitative trading approach that combines swing trading principles with momentum indicators to identify and capture mid term trading opportunities. The strategy has demonstrated promising results during backtesting, including a significant net profit and a favourable profit factor.
Dynamic Stop Loss DemoWhat does this script do ?
This script is for pine script programmers and explains how to implement a dynamic stop-loss strategy. It is different from trailing stop-loss. Trailing stop-loss can only set the retracement value, but this script can take profit on part of the position at a fixed price and allows users to decide whether to take profit on all positions based on whether a certain track is breached or other conditions author want. In this demo, it use rsi crossover and crossunder to decide the strategy condition, and use close price as open price, and use lowest low / highest high as stop price, and use 1.5 risk ratio to calculate the fixed first profit price. It will take 50% position size when the first profit price was reached. Then it will close all rest positions when the inverse condition come out or the dynamic stop(calculated by ATR) breached or when the price back to the open price or the stop price.
How is this script implemented
When start strategy by strategy.entry , it gives a custom id which contains direction, openPrice, stopPrice, profitPrice, qty, etc. It can be get from the global variable strategy.posiition_entry_name .
Optimized Zhaocaijinbao strategyIntroduction:
The Optimized Zhaocaijinbao strategy is a mid and long-term quantitative trading strategy that combines momentum and trend factors. It generates buy and sell signals by using a combination of exponential moving averages, moving averages, volume and slope indicators. It generates buy signals when the stock is above the 35-day moving average, the trading volume is higher than the 20-day moving average, and the stock is in an upward trend on a weekly timeframe."招财进宝" is a Chinese phrase that can be translated to "Attract Wealth and Bring in Treasure" in English. It is a common expression used to wish for good luck and prosperity in various contexts, such as in business or personal finances.
Highlights:
The strategy has several special optimizations that make it unique.
Firstly, the strategy is optimized for T+1 trading in the Chinese stock market and is only suitable for long positions. The optimizations are also applicable to international stock markets.
Secondly, the trend strategy is optimized to only show indicators on the right side and oscillations. This helps to prevent false signals in choppy markets.
Thirdly, the strategy uses a risk factor for dynamic position sizing to ensure position sizes are adjusted according to the current net asset value and risk preferences. This helps to lower drawdown risks.
The strategy has good resilience even without using stop loss modules in backtesting, making it suitable for trading hourly, 2-hourly, and daily K-line charts (depending on the stock being traded). We recommend experimenting with backtesting using SSE 1-hour or 2-hour or daily Kline charts.
Backtesting outcomes:
The strategy was backtested over the period from October 13th, 2005 to April 14th, 2023, using daily candlestick charts for the commodity code SSE:600763, with a currency of CNY and tick size of 0.01. The strategy used an initial capital of 1,000,000 CNY, with order sizes set to 10% equity and a pyramid of 1 order. The strategy also had a Max Position Size of 0.01 and a Risk Factor of 2.
Here is a summary of the performance of the trading strategy:
Total net profit: 288,577.32 CNY, representing a return of 128.86%
Total number of closed trades: 61
Winning trades: 37, representing a win rate of 60.66%
Profit factor: 2.415
Largest losing trade: 222,021.46 CNY, representing a loss of 14.08%
Average trade: 21,124.22 CNY, representing a return of 3.1%
Average holding period for all trades: 12 days
Conclusion:
In conclusion, the Optimized Zhaocaijinbao strategy is a mid and long-term quantitative trading strategy that combines momentum and trend factors. It is suitable for both Chinese stocks and global stocks. While the Optimized Zhaocaijinbao strategy has performed well in backtesting, it is important to note that past performance is not a guarantee of future results. Traders should conduct their own research and analysis and exercise caution when using any trading strategy.
Bitcoin 30m Swing Trader Long/Short StrategyIntro
I want to share the results of my passionate hobby and the unstoppable chase for a profitable automated trading strategy. It has been created with the intention of trading only Bitcoin. Altcoins are not interesting for me, as I have discovered lots of issues with finding the right parameter values for experiencing a good performance. As altcoins typically follow the trend of bitcoin and characteristically have a high volatility that may cause stop-hunts, I decided to not over complicate this project. I was just aiming for a profitable trading strategy with an acceptable drawdown and enough confidence by a statistically significant number of trades beside a wide backtesting timespan (credits going out to TradingView: Deep Backtesting).
Total time spent on this is approximately 2 years.
Indicators used
RSI: Used for entries and trend reversal spots
MACD: Used for entry and exit optimiziation
ATR: Used for dynamic offsets in trend definition indicator
Custom trend indicator: Self-made indicator, based on simple price action of higher timeframes using pivot points to find support and resistance zones that have formerly been created
Strategy parameters
I have reduced the total parameters used to just a few. It took lots of working hours to find appropriate values along the trading algorithm and I don’t want to overcomplicate it to you.
This strategy is for those, who have been looking for a working strategy. No DIY kit.
Feel free to adapt Take profit or stop loss targets. But it’s not recommended to do so.
How it works
Entries:
I started with a kind of template that I have been using for strategies for a long time. This includes how to find the right Entries during a trend as well as spotting trend reverse opportunities. Here I combine simple indicators like RSI and MACD beside necessary trend conditions. If a target RSI Value is hit, it will enter a trade, after MACD histogram has stopped to fall/rise. Depends on long/short. While we are in a trade and trend reversed, it waits for a specific RSI target level to be hit, to reverse the trade. As simple as it is, it closes the open one and starts a trade in other direction.
Micro trend:
It starts to get more interesting when it comes to trend recognition, as it forms the core of the strategy and discovering appropriate values for it has been very hard. The final trend variable is defined by the responses over higher timeframes of my self-made trend indicator. Executed on the current timeframe, the trend indicator is quite interesting. But for a automated trading strategy it is necessary to deviate trading instructions from higher timeframes trends.
Macro trend:
The same process that happens for micro trend is also applied with much higher timeframes, like 3D or weekly. The basic assumption is, that if we are in a bull or bear run, where retail investors are flooding the markets, we are increasing our take profit targets respectively. This way we can catch bigger moves in bigger trends.
Exits:
Closing a trade generally happens when a TP target (in %) is hit, or the SL (in %) is hit. The strategy has a special treatment with SL’s. After it happens, the strategy is more careful about market conditions and typically waits for a countertrade. The third way of closing a trade has already been mentioned: the reverse trades. They happen during choppy market conditions. The strategy has also special awareness here and tracks, if reverse trades start to happen more often. After a while, it starts to be more restrictive in opening new reverse trades.
Performance
Capabilities and limitations:
As I have already mentioned the strategy is only optimized for bitcoin (Perpetual Futures). This does not mean, it can not be used on other markets, because the algorithm itself is universal appliable. A very hard task was about finding the right parameter values for the strategy performing like this. If you have a special wish to configure this strategy for a specific market, DM me. The strategy has been tested with different configurations on the following timeframes: 30, 15, 10, 5, 1. I have decided to publish the one for 30m TF, because its performance simply convinced me.
Repainting:
It has been tested lots of times against repainting.
Confidence:
The total backtesting performance reaches out to 2019-09-08. So the strategy has been managing to be successful since then, but this does not guarantee that the logic, this strategy follows, is going to continue this level in future.
Commission:
The algorithm is configured with 0.04% commission per trade, as it is on Binance (for Future Market orders).
Ordersize:
Its totally up to you, how much of your total equity should be traded. Nevertheless, I would personally recommend to not exceed 50% ordersize of your equity with this strategy. In the past, you would have had great performance beside a drawdown, that was from psychological point of view good to handle with. This strategy additionally uses STOP LOSSES, so you can never loose you whole ordersize at one trade.
Slippage:
You also must consider about getting slipped when trading this strategy on live markets. Statistically one could assume, that the slippage could be neutral, as it can be both positive or negative. It depends on your execution time, the exchange, on which you are executing trades and market conditions. But keep it in mind, as if you have too much slippage, this strategy would be unprofitable.
The Flash-Strategy (Momentum-RSI, EMA-crossover, ATR)The Flash-Strategy (Momentum-RSI, EMA-crossover, ATR)
Are you tired of manually analyzing charts and trying to find profitable trading opportunities? Look no further! Our algorithmic trading strategy, "Flash," is here to simplify your trading process and maximize your profits.
Flash is an advanced trading algorithm that combines three powerful indicators to generate highly selective and accurate trading signals. The Momentum-RSI, Super-Trend Analysis and EMA-Strategy indicators are used to identify the strength and direction of the underlying trend.
The Momentum-RSI signals the strength of the trend and only generates trading signals in confirmed upward or downward trends. The Super-Trend Analysis confirms the trend direction and generates signals when the price breaks through the super-trend line. The EMA-Strategy is used as a qualifier for the generation of trading signals, where buy signals are generated when the EMA crosses relevant trend lines.
Flash is highly selective, as it only generates trading signals when all three indicators align. This ensures that only the highest probability trades are taken, resulting in maximum profits.
Our trading strategy also comes with two profit management options. Option 1 uses the so-called supertrend-indicator which uses the dynamic ATR as a key input, while option 2 applies pre-defined, fixed SL and TP levels.
The settings for each indicator can be customized, allowing you to adjust the length, limit value, factor, and source value to suit your preferences. You can also set the time period in which you want to run the backtest and how many dollar trades you want to open in each position for fully automated trading.
Choose your preferred trade direction and stop-loss/take-profit settings, and let Flash do the rest. Say goodbye to manual chart analysis and hello to consistent profits with Flash. Try it now!
General Comments
This Flash Strategy has been developed in cooperation between Baby_whale_to_moon and JS-TechTrading. Cudos to Baby_whale_to_moon for doing a great job in transforming sophisticated trading ideas into pine scripts.
Detailed Description
The “Flash” script considers the following indicators for the generation of trading signals:
1. Momentum-RSI
2. ‘Super-Trend’-Analysis
3. EMA-Strategy
1. Momentum-RSI
• This indicator signals the strength of the underlying upward- or downward-trend.
• The signal range of this indicator is from 0 to 100. Values > 60 indicate a confirmed upward- or downward-trend.
• The strategy will only generate trading signals in case the stock (or any other financial security) is in a confirmed upward- (long entry signals) or downward-trend (short entry signals).
• This indicator provides information with regards to the strength of the underlying trend and it does not give any insight with regard to the direction of the trend. Therefore, this strategy also considers other indicators which provide technical confirmation with regards to the direction of the underlying trend.
Graph 1 shows this concept:
• The Momentum-RSI indicator gives lower readings during consolidation phases and no trading signals are generated during these periods.
Example (graph 2):
2. Super-Trend Analysis
• The red line in the graph below represents the so-called super-trend-line. Trading signals are only generated in case the price action breaks through this super-trend-line indicating a new confirmed upward-trend (or downward-trend, respectively).
• If that happens, the super trend-line changes its color from red to green, giving confirmation that the trend changed from bearish to bullish and long-entries can be considered.
• The vice-versa approach can be considered for short entries.
Graph 3 explains this concept:
3. Exponential Moving Average / EMA-Strategy
The functionality of this EMA-element of the strategy has been programmed as follows:
• The exponential moving average and two other trend lines are being used as qualifiers for the generation of trading-signals.
• Buy-signals for long-entries are only considered in case the EMA (yellow line in the graph below) crosses the red line.
• Sell-signals for short-entries are only considered in case the EMA (yellow line in the graph below) crosses the green line.
An example is shown in graph 4 below:
We use this indicator to determine the new trend direction that may occur by using the data of the price's past movement.
4. Bringing it all together
This section describes in detail, how this strategy combines the Momentum-RSI, the super-trend analysis and the EMA-strategy.
The strategy only generates trading-signals in case all of the following conditions and qualifiers are being met:
1. Momentum-RSI is higher than the set value of this strategy. The standard and recommended value is 60 (graph 5):
2. The super-trend analysis needs to indicate a confirmed upward-trend (for long-entry signals) or a confirmed downward-trend (for short-entry signals), respectively.
3. The EMA-strategy needs to indicate that the stock or financial security is in a confirmed upward-trend (long-entries) or downward-trend (short-entries), respectively.
The strategy will only generate trading signals if all three qualifiers are being met. This makes this strategy highly selective and is the key secret for its success.
Example for Long-Entry (graph 6):
When these conditions are met, our Long position is opened.
Example for Short-Entry (graph 7):
Trade Management Options (graph 8)
Option 1
In this dynamic version, the so-called supertrend-indicator is being used for the trade exit management. This supertrend-indicator is a sophisticated and optimized methodology which uses the dynamic ATR as one of its key input parameters.
The following settings of the supertrend-indicator can be changed and optimized (graph 9):
The dynamic SL/TP-lines of the supertrend-indicator are shown in the charts. The ATR-length and the supertrend-factor result in a multiplier value which can be used to fine-tune and optimize this strategy based on the financial security, timeframe and overall market environment.
Option 2 (graph 10):
Option 2 applies pre-defined, fixed SL and TP levels which will appear as straight horizontal lines in the chart.
Settings options (graph 11):
The following settings can be changed for the three elements of this strategy:
1. (Length Mom-Rsi): Length of our Mom-RSI indicator.
2. Mom-RSI Limit Val: the higher this number, the more momentum of the underlying trend is required before the strategy will start creating trading signals.
3. The length and factor values of the super trend indicator can be adjusted:ATR Length SuperTrend and Factor Super Trend
4. You can set the source value used by the ema trend indicator to determine the ema line: Source Ema Ind
5. You can set the EMA length and the percentage value to follow the price: Length Ema Ind and Percent Ema Ind
6. The backtesting period can be adjusted: Start and End time of BackTest
7. Dollar cost per position: this is relevant for 100% fully automated trading.
8. Trade direction can be adjusted: LONG, SHORT or BOTH
9. As we explained above, we can determine our stop-loss and take-profit levels dynamically or statically. (Version 1 or Version 2 )
Display options on the charts graph 12):
1. Show horizontal lines for the Stop-Loss and Take-profit levels on the charts.
2. Display relevant Trend Lines, including color setting options for the supertrend functionality. In the example below, green lines indicate a confirmed uptrend, red lines indicate a confirmed downtrend.
Other comments
• This indicator has been optimized to be applied for 1 hour-charts. However, the underlying principles of this strategy are supply and demand in the financial markets and the strategy can be applied to all timeframes. Daytraders can use the 1min- or 5min charts, swing-traders can use the daily charts.
• This strategy has been designed to identify the most promising, highest probability entries and trades for each stock or other financial security.
• The combination of the qualifiers results in a highly selective strategy which only considers the most promising swing-trading entries. As a result, you will normally only find a low number of trades for each stock or other financial security per year in case you apply this strategy for the daily charts. Shorter timeframes will result in a higher number of trades / year.
• Consequently, traders need to apply this strategy for a full watchlist rather than just one financial security.
Advanced VWAP_Pullback Strategy_Trend-Template QualifierGeneral Description and Unique Features of this Script
Introducing the Advanced VWAP Momentum-Pullback Strategy (long-only) that offers several unique features:
1. Our script/strategy utilizes Mark Minervini's Trend-Template as a qualifier for identifying stocks and other financial securities in confirmed uptrends. Mark Minervini, a 2x US Investment Champion, developed the Trend-Template, which covers eight different and independent characteristics that can be adjusted and optimized in this trend-following strategy to ensure the best results. The strategy will only trigger buy-signals in case the optimized qualifiers are being met.
2. Our strategy is based on the supply/demand balance in the market, making it timeless and effective across all timeframes. Whether you are day trading using 1- or 5-min charts or swing-trading using daily charts, this strategy can be applied and works very well.
3. We have also integrated technical indicators such as the RSI and the MA / VWAP crossover into this strategy to identify low-risk pullback entries in the context of confirmed uptrends. By doing so, the risk profile of this strategy and drawdowns are being reduced to an absolute minimum.
Minervini’s Trend-Template and the ‘Stage-Analysis’ of the Markets
This strategy is a so-called 'long-only' strategy. This means that we only take long positions, short positions are not considered.
The best market environment for such strategies are periods of stable upward trends in the so-called stage 2 - uptrend.
In stable upward trends, we increase our market exposure and risk.
In sideways markets and downward trends or bear markets, we reduce our exposure very quickly or go 100% to cash and wait for the markets to recover and improve. This allows us to avoid major losses and drawdowns.
This simple rule gives us a significant advantage over most undisciplined traders and amateurs!
'The Trend is your Friend'. This is a very old but true quote.
What's behind it???
• 98% of stocks made their biggest gains in a Phase 2 upward trend.
• If a stock is in a stable uptrend, this is evidence that larger institutions are buying the stock sustainably.
• By focusing on stocks that are in a stable uptrend, the chances of profit are significantly increased.
• In a stable uptrend, investors know exactly what to expect from further price developments. This makes it possible to locate low-risk entry points.
The goal is not to buy at the lowest price – the goal is to buy at the right price!
Each stock goes through the same maturity cycle – it starts at stage 1 and ends at stage 4
Stage 1 – Neglect Phase – Consolidation
Stage 2 – Progressive Phase – Accumulation
Stage 3 – Topping Phase – Distribution
Stage 4 – Downtrend – Capitulation
This strategy focuses on identifying stocks in confirmed stage 2 uptrends. This in itself gives us an advantage over long-term investors and less professional traders.
By focusing on stocks in a stage 2 uptrend, we avoid losses in downtrends (stage 4) or less profitable consolidation phases (stages 1 and 3). We are fully invested and put our money to work for us, and we are fully invested when stocks are in their stage 2 uptrends.
But how can we use technical chart analysis to find stocks that are in a stable stage 2 uptrend?
Mark Minervini has developed the so-called 'trend template' for this purpose. This is an essential part of our JS-TechTrading pullback strategy. For our watchlists, only those individual values that meet the tough requirements of Minervini's trend template are eligible.
The Trend Template
• 200d MA increasing over a period of at least 1 month, better 4-5 months or longer
• 150d MA above 200d MA
• 50d MA above 150d MA and 200d MA
• Course above 50d MA, 150d MA and 200d MA
• Ideally, the 50d MA is increasing over at least 1 month
• Price at least 25% above the 52w low
• Price within 25% of 52w high
• High relative strength according to IBD.
NOTE: In this basic version of the script, the Trend-Template has to be used as a separate indicator on TradingView (Public Trend-Template indicators are available in TradingView – community scripts). It is recommended to only execute buy signals in case the stock or financial security is in a stage 2 uptrend, which means that the criteria of the trend-template are fulfilled.
This strategy can be applied to all timeframes from 5 min to daily.
The VWAP Momentum-Pullback Strategy
For the JS-TechTrading VWAP Momentum-Pullback Strategy, only stocks and other financial instruments that meet the selected criteria of Mark Minervini's trend template are recommended for algorithmic trading with this startegy.
A further prerequisite for generating a buy signals is that the individual value is in a short-term oversold state (RSI).
When the selling pressure is over and the continuation of the uptrend can be confirmed by the MA / VWAP crossover after reaching a price low, a buy signal is issued by this strategy.
Stop-loss limits and profit targets can be set variably. You also have the option to make use of the trailing stop exit strategy.
Relative Strength Index (RSI)
The Relative Strength Index (RSI) is a technical indicator developed by Welles Wilder in 1978. The RSI is used to perform a market value analysis and identify the strength of a trend as well as overbought and oversold conditions. The indicator is calculated on a scale from 0 to 100 and shows how much an asset has risen or fallen relative to its own price in recent periods.
The RSI is calculated as the ratio of average profits to average losses over a certain period of time. A high value of the RSI indicates an overbought situation, while a low value indicates an oversold situation. Typically, a value > 70 is considered an overbought threshold and a value < 30 is considered an oversold threshold. A value above 70 signals that a single value may be overvalued and a decrease in price is likely , while a value below 30 signals that a single value may be undervalued and an increase in price is likely.
For example, let's say you're watching a stock XYZ. After a prolonged falling movement, the RSI value of this stock has fallen to 26. This means that the stock is oversold and that it is time for a potential recovery. Therefore, a trader might decide to buy this stock in the hope that it will rise again soon.
The MA / VWAP Crossover Trading Strategy
This strategy combines two popular technical indicators: the Moving Average (MA) and the Volume Weighted Average Price (VWAP). The MA VWAP crossover strategy is used to identify potential trend reversals and entry/exit points in the market.
The VWAP is calculated by taking the average price of an asset for a given period, weighted by the volume traded at each price level. The MA, on the other hand, is calculated by taking the average price of an asset over a specified number of periods. When the MA crosses above the VWAP, it suggests that buying pressure is increasing, and it may be a good time to enter a long position. When the MA crosses below the VWAP, it suggests that selling pressure is increasing, and it may be a good time to exit a long position or enter a short position.
Traders typically use the MA VWAP crossover strategy in conjunction with other technical indicators and fundamental analysis to make more informed trading decisions. As with any trading strategy, it is important to carefully consider the risks and potential rewards before making any trades.
This strategy is applicable to all timeframes and the relevant parameters for the underlying indicators (RSI and MA/VWAP) can be adjusted and optimized as needed.
Backtesting
Backtesting gives outstanding results on all timeframes and drawdowns can be reduced to a minimum level. In this example, the hourly chart for MCFT has been used.
Settings for backtesting are:
- Period from Jan 2020 until March 2023
- Starting capital 100k USD
- Position size = 25% of equity
- 0.01% commission = USD 2.50.- per Trade
- Slippage = 2 ticks
Other comments
- This strategy has been designed to identify the most promising, highest probability entries and trades for each stock or other financial security.
- The combination of the Trend-Template and the RSI qualifiers results in a highly selective strategy which only considers the most promising swing-trading entries. As a result, you will normally only find a low number of trades for each stock or other financial security per year in case you apply this strategy for the daily charts. Shorter timeframes will result in a higher number of trades / year.
- Consequently, traders need to apply this strategy for a full watchlist rather than just one financial security.
Cloud X MesoHello there fellow Traders!
Thanks for stopping by, so today I will be covering everything you need to to know about this TradingView strategy.
Below I will discuss everything you need to know about this strategy so you can get a full grasp of what the strategy is, the features, what it does, how it works, the benefits of how this strategy can help you, and the results.
What is Cloud X Meso?
-Cloud X Meso is a strategy that consists of 7 indicators to all line up for total confluence to take a buy or sell once all 6 indicators conditions are met. This strategy does not repaint and doesn't require any technical analysis to be used. The strategy can be used on any timeframe, and any instrument.
-I have optimized many different variations for different types of trading instruments of this strategy ready to be used. The difference of this strategy is that these variations do not need any reoptimization to keep up with recent market conditions since there are hardly any inputs used, which prevents common overfitting problems. The main goal was for this strategy to be automated, as well as plug and play or you can officially consider this as set and forever forget.
What does this strategy do?
-The main goal for this strategy is to catch long or short term trends by waiting for all 7 indicators to line up as well as using customized trading times to trade certain sessions where there is high amounts of volume in the market. This strategy doesn't always need to have a clear trending market, since it can also catch short term trends in choppy markets as well. Overall, the strategy tell you when it buys, sells, and exits after all conditions are met.
How does the strategy work?
-The way that this strategy works is when all of the indicators confluences are met. Next, a buy or sell label will print and the candles colors will color blue or red to show that the trade is in the buy or sell position followed along with a magenta colored line which is the trailing stop to follow the trade until the trade exits from the trailing stop being hit or if the strategies exit condition is met.
-The strategy does have a set Take Profit target since it relies on the trailing stop to end the trade. This is beneficial so you can catch any size of a trend move when the strategy is in high volume market sessions. You catch these trends by customizing the settings to toggle on or off certain indicators, functions, configuring a customized trading time, and toggling on or off certain trading days to make a specific approach for fine tuning a pair to trade in a certain time window with high amounts of volume to catch trending moves whether it be a long or short term trend.
Below I will explain each functionality of the strategy for you to better understand the different ways you can adjust the settings of this strategy.
Backtest Settings:
-You can use these settings to determine a start / end date of what results you would like to see in the strategy tester.
-You can determine the $ amount you would like to see on strategy testers results to be in terms of net profit and max drawdown.
-You can choose whether you want the strategy to take buys only, sells only, or buys and sells.
Automation:
-Compatible with Pine Connectors to fully automate this strategy for MT4/5
-It uses a % based risk when placing trades so you won't have to calculate a proper lot size or dollar amount.
-You can also put the symbol of what that strategy will be trading on so you know what pair its trading.
Custom Trading Times:
-When you customize a trading time for the strategy to trade in, the background will turn blue for that specific time window, and you can use the "Session Exit" function to have trades close once the time window ends when toggled on, or you can have the existing trades close on their own when "Session Exit" is toggled off.
Dynamic Trailing:
-The algorithm uses a volatility based indicator to determine proper stop loss placement depending on how volatile the market is. This will prevent you from guesstimating if your stop loss is too big or too small.
-When Dynamic trailing is off, then the strategy will use a Risk Reward based stop loss to trail everytime the trades hits a new Risk Reward target.
-You can also toggle on or off for the stop loss to go to break even once the trade hits a 1:1 Risk Reward.
Directional Bias Settings:
-This indicator is the main directional bias that uses a multi timeframe function to determine the directional bias, you can also use the Exponential Moving Average as a form of directional bias instead, or you can use both of them to work together to find the directional bias. You can also toggle each one on or off
Entry / Exit Settings:
-This indicator also uses a multi timeframe function but it determines the entry and exit for a trade when all confluences are met. You can also toggle the entry and exit functions on or off.
1 Candle Rule:
-This feature is inspired by No Nonsense Forex (NNFX) the main function of this is if your entry doesn't meet all the entry conditions, then the strategy will wait 1 more candle to meet all the entry conditions to take a trade.
No Trade Zone:
-This feature will uses a Volume based indicator to filter out low volume markets. The candles will turn grey to indicate the algorithm not to take trades, and you can also customize the sensitivity of how strong this indicator will filter out the low volume in the markets.
Indicator functions
Each indicator plays a certain role and also meets certain conditions when a buy or sell trade is placed. I will reveal 3 out of 7 of the indicators used to preserve the uniqueness of this strategy but overall, the logic of this strategies main goal is to ride long or short terms trends while getting dynamic Risk Reward trades.
-The first indicator that the strategy uses an Exponential Moving Average that is customizable, and is used as a form of a filter for either a long or short term directional bias to filter out false signals to help the algorithm trade with the trend.
-The second indicator that the strategy uses is an Oscillator which is the Wavetrend and this indicators functionality for the algorithm is used for the its buy and sell signals to line up with all the other indicators for confluence. This indicator can also be toggled on or off for you own preference
-The third indicator used is the Volume indicator, and this is used to give the other indicators the green light to enter a trade if there are high amounts of volume in the market.
What are the benefits of using this algorithm?
Stress Free Trading:
-Once automated, you will no longer need to stare at the charts all day, as well as trying to execute the trades on time or worried that you missed a setup. Or you can choose to take trades manually when a buy or sell signal comes up
Stress Free Risk Management:
-All you have to do is provide a risk % and the algorithm will do the rest of the work calculating the stop loss, exiting trades, etc. No more needing to find the right lot size, or dollar amount, all in all the strategy will manage the trades for you.
Psychology:
-when you choose to have a systematic trading approach, it eliminates a lot bad habits from human nature
What are the results like?
-I have multiple different variations of results of this strategy, but I will share one of the results.
Here is a screenshot below of what this strategy can do from just one of the variations.
The backtest below was done with another variation on simulating a 100k account risking 0.50% per trade.
Thank you for taking the time to read through this whole guide, and I hope this helped you better understand the strategy.